package interview01
/*

面试题 01.02. 判定是否互为字符重排

给定两个字符串 s1 和 s2，请编写一个程序，确定其中一个字符串的字符重新排列后，能否变成另一个字符串。

判断每个字符个数是否相等

排序、map

*/
func CheckPermutation1(s1,s2 string) bool {
	m1 := make(map[byte]int)
	for i:=0;i<len(s1);i++ {
		m1[s1[i]] ++
	}

	for i:=0;i<len(s2);i++{
		if _,ok := m1[s2[i]];ok {
			m1[s2[i]] -- 
			if m1[s2[i]] == 0 {
				delete(m1,s2[i])
			}
		}else{
			return false
		}

	}
	return len(m1) == 0
}
